package com.shop.cloud.model.response;

import java.util.List;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import com.fasterxml.jackson.annotation.JsonInclude;
import com.fasterxml.jackson.annotation.JsonProperty;

import io.swagger.annotations.ApiModelProperty;
import lombok.EqualsAndHashCode;
import lombok.ToString;

@ToString(callSuper = true)
@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonIgnoreProperties(value = { "hibernateLazyInitializer", "handler", "fieldHandler" }, ignoreUnknown = true)
public class OrderDetailResponse {
	@JsonProperty("id")
    @ApiModelProperty(value = "订单id", example = "", required = true)
    private Long id;
    
	@JsonProperty("orderNo")
    @ApiModelProperty(value = "订单号", example = "", required = true)
    private String orderNo;
	
	@JsonProperty("orderTime")
    @ApiModelProperty(value = "下单时间", example = "", required = true)
    private String orderTime;
    
	@JsonProperty("typeName")
    @ApiModelProperty(value = "商品专区名称", example = "", required = true)
    private String typeName;
	
	@JsonProperty("goodsId")
    @ApiModelProperty(value = "商品id", example = "", required = true)
    private Long goodsId;
    
	@JsonProperty("goodsName")
    @ApiModelProperty(value = "商品名称", example = "", required = true)
    private String goodsName;
	
	@JsonProperty("goodsFeature")
    @ApiModelProperty(value = "商品规格，多个规格以逗号分隔。例如：大杯，白色", example = "", required = true)
    private String goodsFeature;
	
	@JsonProperty("goodsPriceAndCount")
    @ApiModelProperty(value = "商品单价和购买数量描述，例如：39元x2件", example = "", required = true)
    private String goodsPriceAndCount;
    
	@JsonProperty("pics")
    @ApiModelProperty(value = "商品图片集合。如果购买的是某种规格的，获取商品规格的图片", example = "", required = true)
    private List<String> pics;
	
	@JsonProperty("goodsOpenedDistribution")
    @ApiModelProperty(value = "商品是否开启了分销模式。0否，1是", example = "", required = true)
    private int goodsOpenedDistribution;
	
	@JsonProperty("goodsDistributionSet")
    @ApiModelProperty(value = "商品分销设置，从1级开始", example = "", required = true)
	private List<Float> goodsDistributionSet;
    
	@JsonProperty("totalAmount")
    @ApiModelProperty(value = "订单总额描述", example = "", required = true)
    private String totalAmount;
    
	@JsonProperty("buyerUserId")
    @ApiModelProperty(value = "买家用户id", example = "", required = true)
    private Long buyerUserId;
    
	@JsonProperty("buyerNickname")
    @ApiModelProperty(value = "买家昵称", example = "", required = true)
    private String buyerNickname;
    
	@JsonProperty("buyerPhone")
    @ApiModelProperty(value = "买家手机号", example = "", required = true)
    private String buyerPhone;
	
	@JsonProperty("deliverType")
    @ApiModelProperty(value = "配送方式描述", example = "", required = true)
    private String deliverType;
    
	@JsonProperty("shopName")
    @ApiModelProperty(value = "店铺名称", example = "", required = true)
    private String shopName;
	
	@JsonProperty("memo")
    @ApiModelProperty(value = "订单备注", example = "", required = true)
    private String memo;
    
	@JsonProperty("status")
    @ApiModelProperty(value = "订单状态。2待发货，3待收货，4已结束，5已取消", example = "", required = true)
    private int status;
    
	@JsonProperty("statusStr")
    @ApiModelProperty(value = "订单状态描述", example = "", required = true)
    private String statusStr;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public String getStatusStr() {
		return statusStr;
	}

	public void setStatusStr(String statusStr) {
		this.statusStr = statusStr;
	}

	public String getOrderNo() {
		return orderNo;
	}

	public void setOrderNo(String orderNo) {
		this.orderNo = orderNo;
	}

	public String getTypeName() {
		return typeName;
	}

	public void setTypeName(String typeName) {
		this.typeName = typeName;
	}

	public String getTotalAmount() {
		return totalAmount;
	}

	public void setTotalAmount(String totalAmount) {
		this.totalAmount = totalAmount;
	}

	public Long getBuyerUserId() {
		return buyerUserId;
	}

	public void setBuyerUserId(Long buyerUserId) {
		this.buyerUserId = buyerUserId;
	}

	public String getBuyerNickname() {
		return buyerNickname;
	}

	public void setBuyerNickname(String buyerNickname) {
		this.buyerNickname = buyerNickname;
	}

	public String getBuyerPhone() {
		return buyerPhone;
	}

	public void setBuyerPhone(String buyerPhone) {
		this.buyerPhone = buyerPhone;
	}

	public String getShopName() {
		return shopName;
	}

	public void setShopName(String shopName) {
		this.shopName = shopName;
	}

	public int getStatus() {
		return status;
	}

	public void setStatus(int status) {
		this.status = status;
	}

	public String getOrderTime() {
		return orderTime;
	}

	public void setOrderTime(String orderTime) {
		this.orderTime = orderTime;
	}

	public List<String> getPics() {
		return pics;
	}

	public void setPics(List<String> pics) {
		this.pics = pics;
	}

	public Long getGoodsId() {
		return goodsId;
	}

	public void setGoodsId(Long goodsId) {
		this.goodsId = goodsId;
	}

	public String getGoodsName() {
		return goodsName;
	}

	public void setGoodsName(String goodsName) {
		this.goodsName = goodsName;
	}

	public String getGoodsFeature() {
		return goodsFeature;
	}

	public void setGoodsFeature(String goodsFeature) {
		this.goodsFeature = goodsFeature;
	}

	public String getGoodsPriceAndCount() {
		return goodsPriceAndCount;
	}

	public void setGoodsPriceAndCount(String goodsPriceAndCount) {
		this.goodsPriceAndCount = goodsPriceAndCount;
	}

	public int getGoodsOpenedDistribution() {
		return goodsOpenedDistribution;
	}

	public void setGoodsOpenedDistribution(int goodsOpenedDistribution) {
		this.goodsOpenedDistribution = goodsOpenedDistribution;
	}

	public List<Float> getGoodsDistributionSet() {
		return goodsDistributionSet;
	}

	public void setGoodsDistributionSet(List<Float> goodsDistributionSet) {
		this.goodsDistributionSet = goodsDistributionSet;
	}

	public String getDeliverType() {
		return deliverType;
	}

	public void setDeliverType(String deliverType) {
		this.deliverType = deliverType;
	}

	public String getMemo() {
		return memo;
	}

	public void setMemo(String memo) {
		this.memo = memo;
	}
}
